
#include <stdio.h>

//使用3个十六进制进行表示
char* getSizeBytes(unsigned long size, char* app_size_bytes) 
{
    app_size_bytes[0] = (size >> 16) & 0xFF; // 获取高字节
    app_size_bytes[1] = (size >> 8) & 0xFF;  // 获取中间字节
    app_size_bytes[2] = size & 0xFF;          // 获取低字节

    printf("APP Size[0]: 0x%02X\n", app_size_bytes[0]);
    printf("APP Size[1]: 0x%02X\n", app_size_bytes[1]);
    printf("APP Size[2]: 0x%02X\n", app_size_bytes[2]);

    return app_size_bytes;
}
//使用2个十六进制进行表示
 char* getlengthBytes(long size,char* length_size_bytes) 
 {
 
    length_size_bytes[0] = (size >> 8) & 0xFF;  // 获取中间字节
    length_size_bytes[1] = size & 0xFF;        // 获取低字节
 
    printf("length_size_bytes[0]: 0x%02X\n", length_size_bytes[0]);
    printf("length_size_bytes[1]: 0x%02X\n", length_size_bytes[1]);
 
    return length_size_bytes;
 }
//获取一个数，使用2个或者3个十六进制进行表示
int main() 
{
    unsigned long inputSize_00 = 100;
    unsigned long inputSize_01 = 100;
    char app_size_bytes[3]; // 定义一个足够大的字符数组来存储结果
    char app_size_bytes1[2]; // 定义一个足够大的字符数组来存储结果

    char* result1 = getSizeBytes(inputSize_00, app_size_bytes); // 调用函数并传入数组
    char* result2 = getlengthBytes(inputSize_01, app_size_bytes1); // 调用函数并传入数组

    return 0;
}